WOLF core
WOLF: A Modular Estimation Framework for Robotics
XXXXXXXXXXXXXXXXXXXXXXXXvoid(0)" frameborder="0" name="MSearchResults" id="MSearchResults">
wolf::LocalParametrizationBase Class Referenceabstract

#include <core/state_block/local_parametrization_base.h>

Inheritance diagram for wolf::LocalParametrizationBase:
[legend]

Public Member Functions

 LocalParametrizationBase (unsigned int _global_size, unsigned int _local_size)
 
virtual ~LocalParametrizationBase ()
 
bool plus (const Eigen::VectorXd &_x, const Eigen::VectorXd &_delta, Eigen::VectorXd &_x_plus_delta) const
 Plus operation: apply a local increment to a state. More...
 
virtual bool plus (Eigen::Map< const Eigen::VectorXd > &_x, Eigen::Map< const Eigen::VectorXd > &_delta, Eigen::Map< Eigen::VectorXd > &_x_plus_delta) const =0
 
virtual bool computePlusJacobian (Eigen::Map< const Eigen::VectorXd > &_x, Eigen::Map< Eigen::MatrixRowXd > &_jacobian) const =0
 Compute the Jacobian of the plus operation wrt the local increment. More...
 
virtual bool minus (Eigen::Map< const Eigen::VectorXd > &_x1, Eigen::Map< const Eigen::VectorXd > &_x2, Eigen::Map< Eigen::VectorXd > &_x2_minus_x1) const =0
 Minus operation: compute the local increment between two states: NOTE: This function computes x2 (minus) x1 ! More...
 
virtual bool computeMinusJacobian (Eigen::Map< const Eigen::VectorXd > &_x, Eigen::Map< Eigen::MatrixRowXd > &_jacobian) const =0
 
virtual bool isValid (const Eigen::VectorXd &state, double tolerance) const =0
 
unsigned int getLocalSize () const
 
unsigned int getGlobalSize () const
 

Protected Attributes

unsigned int global_size_
 
unsigned int local_size_
 

Constructor & Destructor Documentation

◆ LocalParametrizationBase()

wolf::LocalParametrizationBase::LocalParametrizationBase ( unsigned int  _global_size,
unsigned int  _local_size 
)

◆ ~LocalParametrizationBase()

wolf::LocalParametrizationBase::~LocalParametrizationBase ( )
virtual

Member Function Documentation

◆ computeMinusJacobian()

virtual bool wolf::LocalParametrizationBase::computeMinusJacobian ( Eigen::Map< const Eigen::VectorXd > &  _x,
Eigen::Map< Eigen::MatrixRowXd > &  _jacobian 
) const
pure virtual

◆ computePlusJacobian()

virtual bool wolf::LocalParametrizationBase::computePlusJacobian ( Eigen::Map< const Eigen::VectorXd > &  _x,
Eigen::Map< Eigen::MatrixRowXd > &  _jacobian 
) const
pure virtual

Compute the Jacobian of the plus operation wrt the local increment.

Parameters
_xthe state
_jacobianthe Jacobian matrix
Returns
true if successful

Implemented in wolf::LocalParametrizationAngle, wolf::LocalParametrizationQuaternion< DeltaReference >, wolf::LocalParametrizationQuaternion< DeltaReference >, and wolf::LocalParametrizationQuaternion< DeltaReference >.

◆ getGlobalSize()

unsigned int wolf::LocalParametrizationBase::getGlobalSize ( ) const

◆ getLocalSize()

unsigned int wolf::LocalParametrizationBase::getLocalSize ( ) const

◆ isValid()

virtual bool wolf::LocalParametrizationBase::isValid ( const Eigen::VectorXd &  state,
double  tolerance 
) const
pure virtual

◆ minus()

virtual bool wolf::LocalParametrizationBase::minus ( Eigen::Map< const Eigen::VectorXd > &  _x1,
Eigen::Map< const Eigen::VectorXd > &  _x2,
Eigen::Map< Eigen::VectorXd > &  _x2_minus_x1 
) const
pure virtual

Minus operation: compute the local increment between two states: NOTE: This function computes x2 (minus) x1 !

Parameters
_x1the first state
_x2the second state
_x2_minus_x1the resulting local increment
Returns
true if successful

Implemented in wolf::LocalParametrizationQuaternion< DeltaReference >, wolf::LocalParametrizationQuaternion< DeltaReference >, wolf::LocalParametrizationQuaternion< DeltaReference >, and wolf::LocalParametrizationAngle.

◆ plus() [1/2]

bool wolf::LocalParametrizationBase::plus ( const Eigen::VectorXd &  _x,
const Eigen::VectorXd &  _delta,
Eigen::VectorXd &  _x_plus_delta 
) const

Plus operation: apply a local increment to a state.

Parameters
_xthe state
_deltathe local increment
_x_plus_deltathe resulting state after applying the increment
Returns
true if successful

◆ plus() [2/2]

virtual bool wolf::LocalParametrizationBase::plus ( Eigen::Map< const Eigen::VectorXd > &  _x,
Eigen::Map< const Eigen::VectorXd > &  _delta,
Eigen::Map< Eigen::VectorXd > &  _x_plus_delta 
) const
pure virtual

Member Data Documentation

◆ global_size_

unsigned int wolf::LocalParametrizationBase::global_size_
protected

◆ local_size_

unsigned int wolf::LocalParametrizationBase::local_size_
protected

The documentation for this class was generated from the following files: